package com.example.aijava.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class WebConfig implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        // 1. 配置“所有后端接口”都支持跨域
        registry.addMapping("/**")
                // 2. 允许的前端来源（即哪些前端地址可以发请求）
                .allowedOrigins("http://localhost:8080", "http://localhost:8088")
                // 3. 允许的请求方法（HTTP动词）
                .allowedMethods("GET", "POST", "PUT", "DELETE")
                // 4. 允许的请求头（前端发送请求时可携带的自定义头）
                .allowedHeaders("*")
                // 仅开发环境使用，生产环境禁止！
                .allowedOriginPatterns("http://localhost:*") // 允许 localhost 下所有端口的前端请求
                // 5. 允许前端携带 Cookie/凭证（如登录态）
                .allowCredentials(true)
                // 6. 预检请求（OPTIONS）的缓存时间（避免频繁发预检请求）
                .maxAge(3600);
    }
}